In data transmission technologies, a tunnel is a mechanism used to transmit foreign data, which is data in a different protocol than the network being traversed, across a network. Tunneling protocols allow use of, for example, Internet Protocol (IP) to encapsulate a foreign data protocol in the data or payload portion of IP packets. Most tunneling protocols operate at layer 4, and as such are implemented as a protocol that replaces transmission control protocol (TCP) or user datagram protocol (UDP). Tunnels are often used to connect remote networks, such as a headquarters office (HQ) to multiple branch offices, thus allowing for data sharing between each of the branch offices and the HQ. However, in this scenario IP tunnels present infrastructure challenges as each individual router in a branch office requires a dedicated IP tunnel to each individual router at the HQ location, thus resulting in multiple IP tunnels between a branch office and HQ. Since each IP tunnel between routers requires configuration, multiple IP tunnels inherently results in excessive use of valuable and expensive ternary content-addressable memory (TCAM) resources at each router. An additional challenge with IP tunnels in the HQ/branch office configuration is there is no redundancy in the event of a router failure, as the independent tunnels between routers are not associated in a way that allows for failover recovery.